package cn.tannn.ops.backup.controller.dto;

import cn.tannn.jdevelops.annotations.jpa.JpaUpdate;
import cn.tannn.ops.backup.constant.DbType;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 数据库备份
 *
 * @author tnnn
 * @version V1.0
 * @date 2024-9-10
 */
@Schema(description = "编辑数据库备份")
@ToString
@Getter
@Setter
public class DbBackupEdit  {

    @Schema(description = "id",requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull
    @JpaUpdate(unique = true)
    private Long id;



    /** 数据库名 */
    @Schema(description = "数据库名")
    private  String  dbName ;


    /** 数据库类型 */
    @Schema(description = "数据库类型")
    private DbType dbType ;


    /** 数据库dump命令地址[mysql通过 which mysqldump 查询] */
    @Schema(description = "数据库dump命令地址[mysql通过 which mysqldump 查询]")
    private  String  dumpPath ;


    /** 数据库连接地址 */
    @Schema(description = "数据库连接地址")
    private  String  host ;


    /** 连接名 */
    @Schema(description = "连接名")
    private  String  name ;


    /** 数据库密码 */
    @Schema(description = "数据库密码")
    private  String  password ;


    /** 数据库端口 */
    @Schema(description = "数据库端口")
    private  Integer  port ;


    /** 备份存储地址（远程服务器上的地址） */
    @Schema(description = "备份存储地址（远程服务器上的地址）")
    private  String  remoteBackupPath ;


    /** 数据库账户 */
    @Schema(description = "数据库账户")
    private  String  user ;

    /**
     * sshId[ssh_info表id]，根据这个进行备份的
     */
    @Schema(description = "sshId[ssh_info表id]，根据这个进行备份的")
    Long sshId;

}
